#ifndef __ZOMBIESWARM_H__
#define __ZOMBIESWARM_H__

#include "OpenSteer/SimpleVehicle.h"
#include "OpenSteer/OpenSteerDemo.h"
#include "OpenSteer/Color.h"
#include "Zombie.h"
#include "Human.h"

class ZombieSwarm : public OpenSteer::SimpleVehicle {

	private:

		std::vector<Zombie*> _zombies;

		std::vector<Zombie*>::iterator _zombiesIt;

		OpenSteer::Vec3 _swarmCenter;

		OpenSteer::Vec3 _initPosition;

		void updateSwarmCenter();

		void updateZombies(const float, const float);

	public:

		ZombieSwarm(OpenSteer::Vec3, int, Human*, ProximityDatabase&);

		~ZombieSwarm();

		void reset();

		void update(const float, const float);

		void draw();

		OpenSteer::Vec3 swarmCenter() const;

};

#endif

